﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// The Basic Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234237

namespace StudyTime_1
{
    /// <summary>
    /// A basic page that provides characteristics common to most applications.
    /// </summary>
    /// 

    
    

    public sealed partial class Review1 : StudyTime_1.Common.LayoutAwarePage
    {
        private List<reviewClass> reviewListWork;
        private int currentItem = 0;
        private bool listCreated = false;


        public Review1()
        {
            this.InitializeComponent();
            
        }


          /// <summary>
        /// Populates the page with content passed during navigation.  Any saved state is also
        /// provided when recreating a page from a prior session.
        /// </summary>
        /// <param name="navigationParameter">The parameter value passed to
        /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested.
        /// </param>
        /// <param name="pageState">A dictionary of state preserved by this page during an earlier
        /// session.  This will be null the first time a page is visited.</param>
        protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
        {
        }

        /// <summary>
        /// Preserves state associated with this page in case the application is suspended or the
        /// page is discarded from the navigation cache.  Values must conform to the serialization
        /// requirements of <see cref="SuspensionManager.SessionState"/>.
        /// </summary>
        /// <param name="pageState">An empty dictionary to be populated with serializable state.</param>
        protected override void SaveState(Dictionary<String, Object> pageState)
        {
        }

        private void next_Click(object sender, RoutedEventArgs e)
        {
            next_Question();

        }

        private void last_Click(object sender, RoutedEventArgs e)
        {
            if (listCreated == true)
            {
                if (currentItem == 0)
                {
                    questions.Text = "No More Questions.";
                }


                else if (currentItem <= reviewListWork.Count - 1 && currentItem > -1)
                {
                    currentItem--;
                    //questions.Text = quizList[currPage].question.ToString();
                    questions.Text = "Original Question:" + Environment.NewLine + reviewListWork[currentItem].origQuestion + Environment.NewLine +
               "Your Answer: " + Environment.NewLine + reviewListWork[currentItem].yourAnswer + Environment.NewLine + "Correct Answer:" + Environment.NewLine +
               reviewListWork[currentItem].actualAnswer;
                }

                else
                {
                    //questions.Text = quizList[0].question.ToString();
                    questions.Text = "Original Question:" + Environment.NewLine + reviewListWork[currentItem].origQuestion + Environment.NewLine +
               "Your Answer: " + Environment.NewLine + reviewListWork[currentItem].yourAnswer + Environment.NewLine + "Correct Answer:" + Environment.NewLine +
               reviewListWork[currentItem].actualAnswer;
                }
            }
            else
            {
                errorBox.Text = "Please load a Quiz.";
            }
        }

        private void pageRoot_Loaded(object sender, RoutedEventArgs e)
        {
            reviewListWork = App.reviewList;
            listCreated = true;

            questions.Text = "Original Question:" + Environment.NewLine + reviewListWork[currentItem].origQuestion + Environment.NewLine +
                "Your Answer: " + Environment.NewLine + reviewListWork[currentItem].yourAnswer + Environment.NewLine + "Correct Answer:" + Environment.NewLine +
                reviewListWork[currentItem].actualAnswer;

        }

        private void next_Question()
        {
             if (listCreated == true)
            {
                if (currentItem < reviewListWork.Count - 1)
                {
                    currentItem++;
                    
                    questions.Text = "Original Question:" + Environment.NewLine + reviewListWork[currentItem].origQuestion + Environment.NewLine +
               "Your Answer: " + Environment.NewLine + reviewListWork[currentItem].yourAnswer + Environment.NewLine + "Correct Answer:" + Environment.NewLine +
               reviewListWork[currentItem].actualAnswer;
                   
                }
                else
                {
                    questions.Text = "No More Questions";
                }
            }
            else
            {
                errorBox.Text = "Please Select a Quiz.";
            }
        }

        
        

        
    }
}
